package com.hellobike.haxing.modules.order.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.hellobike.haxing.common.annotation.Dict;

/**
 * @Description: 订单优惠券
 * @Author: haxing-boot
 * @Date:   2020-02-08
 * @Version: V1.0
 */
@Data
@TableName("t_order_coupon")
public class OrderCoupon implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**ID*/
	@TableId(type = IdType.AUTO)
    private java.lang.Long id ;
	/**订单ID*/
	@Excel(name = "订单ID", width = 15)
    private java.lang.Long orderId ;
	/**用户券ID*/
	@Excel(name = "用户券ID", width = 15)
    private java.lang.Long userCouponId ;
	/**deleted*/
	@Excel(name = "deleted", width = 15)
      @TableLogic
      private java.lang.Integer deleted ;
	/**createTime*/
	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private java.util.Date createTime ;
	/**updateTime*/
	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
        private java.util.Date updateTime ;
	/**createBy*/
	@Excel(name = "createBy", width = 15)
        private java.lang.Integer createBy ;
	/**updateBy*/
	@Excel(name = "updateBy", width = 15)
        private java.lang.Integer updateBy ;
	/**用券应满金额*/
	@Excel(name = "用券应满金额", width = 15)
        private java.math.BigDecimal requireAmount ;
	/**是否返回券1返回0使用*/
	@Excel(name = "是否返回券1返回0使用", width = 15)
        private java.lang.Integer returnFlag ;
	//优惠金额
	@TableField(exist = false)
	private java.math.BigDecimal couponAmount ;

	//商品名称
	@TableField(exist = false)
	private java.lang.String title ;

	//券ID
	@TableField(exist = false)
	private java.lang.Long couponId ;
	//券名称
	@TableField(exist = false)
	private java.lang.String couponName ;
	//券面值
	@TableField(exist = false)
	private java.math.BigDecimal faceValue ;
}
